/*
 * Copyright (C) 2019 The Turms Project
 * https://github.com/turms-im/turms
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: request/message/query_messages_request.proto

package im.turms.client.model.proto.request.message;

/**
 * Protobuf type {@code im.turms.proto.QueryMessagesRequest}
 */
public  final class QueryMessagesRequest extends
    com.google.protobuf.GeneratedMessageLite<
        QueryMessagesRequest, QueryMessagesRequest.Builder> implements
    // @@protoc_insertion_point(message_implements:im.turms.proto.QueryMessagesRequest)
    QueryMessagesRequestOrBuilder {
  private QueryMessagesRequest() {
    ids_ = emptyLongList();
  }
  private int bitField0_;
  public static final int IDS_FIELD_NUMBER = 1;
  private com.google.protobuf.Internal.LongList ids_;
  /**
   * <code>repeated int64 ids = 1;</code>
   * @return A list containing the ids.
   */
  @java.lang.Override
  public java.util.List<java.lang.Long>
      getIdsList() {
    return ids_;
  }
  /**
   * <code>repeated int64 ids = 1;</code>
   * @return The count of ids.
   */
  @java.lang.Override
  public int getIdsCount() {
    return ids_.size();
  }
  /**
   * <code>repeated int64 ids = 1;</code>
   * @param index The index of the element to return.
   * @return The ids at the given index.
   */
  @java.lang.Override
  public long getIds(int index) {
    return ids_.getLong(index);
  }
  private int idsMemoizedSerializedSize = -1;
  private void ensureIdsIsMutable() {
    com.google.protobuf.Internal.LongList tmp = ids_;
    if (!tmp.isModifiable()) {
      ids_ =
          com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
     }
  }
  /**
   * <code>repeated int64 ids = 1;</code>
   * @param index The index to set the value at.
   * @param value The ids to set.
   */
  private void setIds(
      int index, long value) {
    ensureIdsIsMutable();
    ids_.setLong(index, value);
  }
  /**
   * <code>repeated int64 ids = 1;</code>
   * @param value The ids to add.
   */
  private void addIds(long value) {
    ensureIdsIsMutable();
    ids_.addLong(value);
  }
  /**
   * <code>repeated int64 ids = 1;</code>
   * @param values The ids to add.
   */
  private void addAllIds(
      java.lang.Iterable<? extends java.lang.Long> values) {
    ensureIdsIsMutable();
    com.google.protobuf.AbstractMessageLite.addAll(
        values, ids_);
  }
  /**
   * <code>repeated int64 ids = 1;</code>
   */
  private void clearIds() {
    ids_ = emptyLongList();
  }

  public static final int SIZE_FIELD_NUMBER = 2;
  private int size_;
  /**
   * <code>optional int32 size = 2;</code>
   * @return Whether the size field is set.
   */
  @java.lang.Override
  public boolean hasSize() {
    return ((bitField0_ & 0x00000001) != 0);
  }
  /**
   * <code>optional int32 size = 2;</code>
   * @return The size.
   */
  @java.lang.Override
  public int getSize() {
    return size_;
  }
  /**
   * <code>optional int32 size = 2;</code>
   * @param value The size to set.
   */
  private void setSize(int value) {
    bitField0_ |= 0x00000001;
    size_ = value;
  }
  /**
   * <code>optional int32 size = 2;</code>
   */
  private void clearSize() {
    bitField0_ = (bitField0_ & ~0x00000001);
    size_ = 0;
  }

  public static final int ARE_GROUP_MESSAGES_FIELD_NUMBER = 3;
  private boolean areGroupMessages_;
  /**
   * <code>optional bool are_group_messages = 3;</code>
   * @return Whether the areGroupMessages field is set.
   */
  @java.lang.Override
  public boolean hasAreGroupMessages() {
    return ((bitField0_ & 0x00000002) != 0);
  }
  /**
   * <code>optional bool are_group_messages = 3;</code>
   * @return The areGroupMessages.
   */
  @java.lang.Override
  public boolean getAreGroupMessages() {
    return areGroupMessages_;
  }
  /**
   * <code>optional bool are_group_messages = 3;</code>
   * @param value The areGroupMessages to set.
   */
  private void setAreGroupMessages(boolean value) {
    bitField0_ |= 0x00000002;
    areGroupMessages_ = value;
  }
  /**
   * <code>optional bool are_group_messages = 3;</code>
   */
  private void clearAreGroupMessages() {
    bitField0_ = (bitField0_ & ~0x00000002);
    areGroupMessages_ = false;
  }

  public static final int ARE_SYSTEM_MESSAGES_FIELD_NUMBER = 4;
  private boolean areSystemMessages_;
  /**
   * <code>optional bool are_system_messages = 4;</code>
   * @return Whether the areSystemMessages field is set.
   */
  @java.lang.Override
  public boolean hasAreSystemMessages() {
    return ((bitField0_ & 0x00000004) != 0);
  }
  /**
   * <code>optional bool are_system_messages = 4;</code>
   * @return The areSystemMessages.
   */
  @java.lang.Override
  public boolean getAreSystemMessages() {
    return areSystemMessages_;
  }
  /**
   * <code>optional bool are_system_messages = 4;</code>
   * @param value The areSystemMessages to set.
   */
  private void setAreSystemMessages(boolean value) {
    bitField0_ |= 0x00000004;
    areSystemMessages_ = value;
  }
  /**
   * <code>optional bool are_system_messages = 4;</code>
   */
  private void clearAreSystemMessages() {
    bitField0_ = (bitField0_ & ~0x00000004);
    areSystemMessages_ = false;
  }

  public static final int FROM_ID_FIELD_NUMBER = 5;
  private long fromId_;
  /**
   * <code>optional int64 from_id = 5;</code>
   * @return Whether the fromId field is set.
   */
  @java.lang.Override
  public boolean hasFromId() {
    return ((bitField0_ & 0x00000008) != 0);
  }
  /**
   * <code>optional int64 from_id = 5;</code>
   * @return The fromId.
   */
  @java.lang.Override
  public long getFromId() {
    return fromId_;
  }
  /**
   * <code>optional int64 from_id = 5;</code>
   * @param value The fromId to set.
   */
  private void setFromId(long value) {
    bitField0_ |= 0x00000008;
    fromId_ = value;
  }
  /**
   * <code>optional int64 from_id = 5;</code>
   */
  private void clearFromId() {
    bitField0_ = (bitField0_ & ~0x00000008);
    fromId_ = 0L;
  }

  public static final int DELIVERY_DATE_AFTER_FIELD_NUMBER = 6;
  private long deliveryDateAfter_;
  /**
   * <code>optional int64 delivery_date_after = 6;</code>
   * @return Whether the deliveryDateAfter field is set.
   */
  @java.lang.Override
  public boolean hasDeliveryDateAfter() {
    return ((bitField0_ & 0x00000010) != 0);
  }
  /**
   * <code>optional int64 delivery_date_after = 6;</code>
   * @return The deliveryDateAfter.
   */
  @java.lang.Override
  public long getDeliveryDateAfter() {
    return deliveryDateAfter_;
  }
  /**
   * <code>optional int64 delivery_date_after = 6;</code>
   * @param value The deliveryDateAfter to set.
   */
  private void setDeliveryDateAfter(long value) {
    bitField0_ |= 0x00000010;
    deliveryDateAfter_ = value;
  }
  /**
   * <code>optional int64 delivery_date_after = 6;</code>
   */
  private void clearDeliveryDateAfter() {
    bitField0_ = (bitField0_ & ~0x00000010);
    deliveryDateAfter_ = 0L;
  }

  public static final int DELIVERY_DATE_BEFORE_FIELD_NUMBER = 7;
  private long deliveryDateBefore_;
  /**
   * <code>optional int64 delivery_date_before = 7;</code>
   * @return Whether the deliveryDateBefore field is set.
   */
  @java.lang.Override
  public boolean hasDeliveryDateBefore() {
    return ((bitField0_ & 0x00000020) != 0);
  }
  /**
   * <code>optional int64 delivery_date_before = 7;</code>
   * @return The deliveryDateBefore.
   */
  @java.lang.Override
  public long getDeliveryDateBefore() {
    return deliveryDateBefore_;
  }
  /**
   * <code>optional int64 delivery_date_before = 7;</code>
   * @param value The deliveryDateBefore to set.
   */
  private void setDeliveryDateBefore(long value) {
    bitField0_ |= 0x00000020;
    deliveryDateBefore_ = value;
  }
  /**
   * <code>optional int64 delivery_date_before = 7;</code>
   */
  private void clearDeliveryDateBefore() {
    bitField0_ = (bitField0_ & ~0x00000020);
    deliveryDateBefore_ = 0L;
  }

  public static final int WITH_TOTAL_FIELD_NUMBER = 8;
  private boolean withTotal_;
  /**
   * <code>bool with_total = 8;</code>
   * @return The withTotal.
   */
  @java.lang.Override
  public boolean getWithTotal() {
    return withTotal_;
  }
  /**
   * <code>bool with_total = 8;</code>
   * @param value The withTotal to set.
   */
  private void setWithTotal(boolean value) {
    
    withTotal_ = value;
  }
  /**
   * <code>bool with_total = 8;</code>
   */
  private void clearWithTotal() {
    
    withTotal_ = false;
  }

  public static im.turms.client.model.proto.request.message.QueryMessagesRequest parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return com.google.protobuf.GeneratedMessageLite.parseFrom(
        DEFAULT_INSTANCE, data);
  }
  public static im.turms.client.model.proto.request.message.QueryMessagesRequest parseFrom(
      java.nio.ByteBuffer data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return com.google.protobuf.GeneratedMessageLite.parseFrom(
        DEFAULT_INSTANCE, data, extensionRegistry);
  }
  public static im.turms.client.model.proto.request.message.QueryMessagesRequest parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return com.google.protobuf.GeneratedMessageLite.parseFrom(
        DEFAULT_INSTANCE, data);
  }
  public static im.turms.client.model.proto.request.message.QueryMessagesRequest parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return com.google.protobuf.GeneratedMessageLite.parseFrom(
        DEFAULT_INSTANCE, data, extensionRegistry);
  }
  public static im.turms.client.model.proto.request.message.QueryMessagesRequest parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return com.google.protobuf.GeneratedMessageLite.parseFrom(
        DEFAULT_INSTANCE, data);
  }
  public static im.turms.client.model.proto.request.message.QueryMessagesRequest parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return com.google.protobuf.GeneratedMessageLite.parseFrom(
        DEFAULT_INSTANCE, data, extensionRegistry);
  }
  public static im.turms.client.model.proto.request.message.QueryMessagesRequest parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageLite.parseFrom(
        DEFAULT_INSTANCE, input);
  }
  public static im.turms.client.model.proto.request.message.QueryMessagesRequest parseFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageLite.parseFrom(
        DEFAULT_INSTANCE, input, extensionRegistry);
  }
  public static im.turms.client.model.proto.request.message.QueryMessagesRequest parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return parseDelimitedFrom(DEFAULT_INSTANCE, input);
  }
  public static im.turms.client.model.proto.request.message.QueryMessagesRequest parseDelimitedFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
  }
  public static im.turms.client.model.proto.request.message.QueryMessagesRequest parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageLite.parseFrom(
        DEFAULT_INSTANCE, input);
  }
  public static im.turms.client.model.proto.request.message.QueryMessagesRequest parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageLite.parseFrom(
        DEFAULT_INSTANCE, input, extensionRegistry);
  }

  public static Builder newBuilder() {
    return (Builder) DEFAULT_INSTANCE.createBuilder();
  }
  public static Builder newBuilder(im.turms.client.model.proto.request.message.QueryMessagesRequest prototype) {
    return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
  }

  /**
   * Protobuf type {@code im.turms.proto.QueryMessagesRequest}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageLite.Builder<
        im.turms.client.model.proto.request.message.QueryMessagesRequest, Builder> implements
      // @@protoc_insertion_point(builder_implements:im.turms.proto.QueryMessagesRequest)
      im.turms.client.model.proto.request.message.QueryMessagesRequestOrBuilder {
    // Construct using im.turms.client.model.proto.request.message.QueryMessagesRequest.newBuilder()
    private Builder() {
      super(DEFAULT_INSTANCE);
    }


    /**
     * <code>repeated int64 ids = 1;</code>
     * @return A list containing the ids.
     */
    @java.lang.Override
    public java.util.List<java.lang.Long>
        getIdsList() {
      return java.util.Collections.unmodifiableList(
          instance.getIdsList());
    }
    /**
     * <code>repeated int64 ids = 1;</code>
     * @return The count of ids.
     */
    @java.lang.Override
    public int getIdsCount() {
      return instance.getIdsCount();
    }
    /**
     * <code>repeated int64 ids = 1;</code>
     * @param index The index of the element to return.
     * @return The ids at the given index.
     */
    @java.lang.Override
    public long getIds(int index) {
      return instance.getIds(index);
    }
    /**
     * <code>repeated int64 ids = 1;</code>
     * @param value The ids to set.
     * @return This builder for chaining.
     */
    public Builder setIds(
        int index, long value) {
      copyOnWrite();
      instance.setIds(index, value);
      return this;
    }
    /**
     * <code>repeated int64 ids = 1;</code>
     * @param value The ids to add.
     * @return This builder for chaining.
     */
    public Builder addIds(long value) {
      copyOnWrite();
      instance.addIds(value);
      return this;
    }
    /**
     * <code>repeated int64 ids = 1;</code>
     * @param values The ids to add.
     * @return This builder for chaining.
     */
    public Builder addAllIds(
        java.lang.Iterable<? extends java.lang.Long> values) {
      copyOnWrite();
      instance.addAllIds(values);
      return this;
    }
    /**
     * <code>repeated int64 ids = 1;</code>
     * @return This builder for chaining.
     */
    public Builder clearIds() {
      copyOnWrite();
      instance.clearIds();
      return this;
    }

    /**
     * <code>optional int32 size = 2;</code>
     * @return Whether the size field is set.
     */
    @java.lang.Override
    public boolean hasSize() {
      return instance.hasSize();
    }
    /**
     * <code>optional int32 size = 2;</code>
     * @return The size.
     */
    @java.lang.Override
    public int getSize() {
      return instance.getSize();
    }
    /**
     * <code>optional int32 size = 2;</code>
     * @param value The size to set.
     * @return This builder for chaining.
     */
    public Builder setSize(int value) {
      copyOnWrite();
      instance.setSize(value);
      return this;
    }
    /**
     * <code>optional int32 size = 2;</code>
     * @return This builder for chaining.
     */
    public Builder clearSize() {
      copyOnWrite();
      instance.clearSize();
      return this;
    }

    /**
     * <code>optional bool are_group_messages = 3;</code>
     * @return Whether the areGroupMessages field is set.
     */
    @java.lang.Override
    public boolean hasAreGroupMessages() {
      return instance.hasAreGroupMessages();
    }
    /**
     * <code>optional bool are_group_messages = 3;</code>
     * @return The areGroupMessages.
     */
    @java.lang.Override
    public boolean getAreGroupMessages() {
      return instance.getAreGroupMessages();
    }
    /**
     * <code>optional bool are_group_messages = 3;</code>
     * @param value The areGroupMessages to set.
     * @return This builder for chaining.
     */
    public Builder setAreGroupMessages(boolean value) {
      copyOnWrite();
      instance.setAreGroupMessages(value);
      return this;
    }
    /**
     * <code>optional bool are_group_messages = 3;</code>
     * @return This builder for chaining.
     */
    public Builder clearAreGroupMessages() {
      copyOnWrite();
      instance.clearAreGroupMessages();
      return this;
    }

    /**
     * <code>optional bool are_system_messages = 4;</code>
     * @return Whether the areSystemMessages field is set.
     */
    @java.lang.Override
    public boolean hasAreSystemMessages() {
      return instance.hasAreSystemMessages();
    }
    /**
     * <code>optional bool are_system_messages = 4;</code>
     * @return The areSystemMessages.
     */
    @java.lang.Override
    public boolean getAreSystemMessages() {
      return instance.getAreSystemMessages();
    }
    /**
     * <code>optional bool are_system_messages = 4;</code>
     * @param value The areSystemMessages to set.
     * @return This builder for chaining.
     */
    public Builder setAreSystemMessages(boolean value) {
      copyOnWrite();
      instance.setAreSystemMessages(value);
      return this;
    }
    /**
     * <code>optional bool are_system_messages = 4;</code>
     * @return This builder for chaining.
     */
    public Builder clearAreSystemMessages() {
      copyOnWrite();
      instance.clearAreSystemMessages();
      return this;
    }

    /**
     * <code>optional int64 from_id = 5;</code>
     * @return Whether the fromId field is set.
     */
    @java.lang.Override
    public boolean hasFromId() {
      return instance.hasFromId();
    }
    /**
     * <code>optional int64 from_id = 5;</code>
     * @return The fromId.
     */
    @java.lang.Override
    public long getFromId() {
      return instance.getFromId();
    }
    /**
     * <code>optional int64 from_id = 5;</code>
     * @param value The fromId to set.
     * @return This builder for chaining.
     */
    public Builder setFromId(long value) {
      copyOnWrite();
      instance.setFromId(value);
      return this;
    }
    /**
     * <code>optional int64 from_id = 5;</code>
     * @return This builder for chaining.
     */
    public Builder clearFromId() {
      copyOnWrite();
      instance.clearFromId();
      return this;
    }

    /**
     * <code>optional int64 delivery_date_after = 6;</code>
     * @return Whether the deliveryDateAfter field is set.
     */
    @java.lang.Override
    public boolean hasDeliveryDateAfter() {
      return instance.hasDeliveryDateAfter();
    }
    /**
     * <code>optional int64 delivery_date_after = 6;</code>
     * @return The deliveryDateAfter.
     */
    @java.lang.Override
    public long getDeliveryDateAfter() {
      return instance.getDeliveryDateAfter();
    }
    /**
     * <code>optional int64 delivery_date_after = 6;</code>
     * @param value The deliveryDateAfter to set.
     * @return This builder for chaining.
     */
    public Builder setDeliveryDateAfter(long value) {
      copyOnWrite();
      instance.setDeliveryDateAfter(value);
      return this;
    }
    /**
     * <code>optional int64 delivery_date_after = 6;</code>
     * @return This builder for chaining.
     */
    public Builder clearDeliveryDateAfter() {
      copyOnWrite();
      instance.clearDeliveryDateAfter();
      return this;
    }

    /**
     * <code>optional int64 delivery_date_before = 7;</code>
     * @return Whether the deliveryDateBefore field is set.
     */
    @java.lang.Override
    public boolean hasDeliveryDateBefore() {
      return instance.hasDeliveryDateBefore();
    }
    /**
     * <code>optional int64 delivery_date_before = 7;</code>
     * @return The deliveryDateBefore.
     */
    @java.lang.Override
    public long getDeliveryDateBefore() {
      return instance.getDeliveryDateBefore();
    }
    /**
     * <code>optional int64 delivery_date_before = 7;</code>
     * @param value The deliveryDateBefore to set.
     * @return This builder for chaining.
     */
    public Builder setDeliveryDateBefore(long value) {
      copyOnWrite();
      instance.setDeliveryDateBefore(value);
      return this;
    }
    /**
     * <code>optional int64 delivery_date_before = 7;</code>
     * @return This builder for chaining.
     */
    public Builder clearDeliveryDateBefore() {
      copyOnWrite();
      instance.clearDeliveryDateBefore();
      return this;
    }

    /**
     * <code>bool with_total = 8;</code>
     * @return The withTotal.
     */
    @java.lang.Override
    public boolean getWithTotal() {
      return instance.getWithTotal();
    }
    /**
     * <code>bool with_total = 8;</code>
     * @param value The withTotal to set.
     * @return This builder for chaining.
     */
    public Builder setWithTotal(boolean value) {
      copyOnWrite();
      instance.setWithTotal(value);
      return this;
    }
    /**
     * <code>bool with_total = 8;</code>
     * @return This builder for chaining.
     */
    public Builder clearWithTotal() {
      copyOnWrite();
      instance.clearWithTotal();
      return this;
    }

    // @@protoc_insertion_point(builder_scope:im.turms.proto.QueryMessagesRequest)
  }
  @java.lang.Override
  @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
  protected final java.lang.Object dynamicMethod(
      com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
      java.lang.Object arg0, java.lang.Object arg1) {
    switch (method) {
      case NEW_MUTABLE_INSTANCE: {
        return new im.turms.client.model.proto.request.message.QueryMessagesRequest();
      }
      case NEW_BUILDER: {
        return new Builder();
      }
      case BUILD_MESSAGE_INFO: {
          java.lang.Object[] objects = new java.lang.Object[] {
            "bitField0_",
            "ids_",
            "size_",
            "areGroupMessages_",
            "areSystemMessages_",
            "fromId_",
            "deliveryDateAfter_",
            "deliveryDateBefore_",
            "withTotal_",
          };
          java.lang.String info =
              "\u0000\b\u0000\u0001\u0001\b\b\u0000\u0001\u0000\u0001%\u0002\u1004\u0000\u0003\u1007" +
              "\u0001\u0004\u1007\u0002\u0005\u1002\u0003\u0006\u1002\u0004\u0007\u1002\u0005\b" +
              "\u0007";
          return newMessageInfo(DEFAULT_INSTANCE, info, objects);
      }
      // fall through
      case GET_DEFAULT_INSTANCE: {
        return DEFAULT_INSTANCE;
      }
      case GET_PARSER: {
        com.google.protobuf.Parser<im.turms.client.model.proto.request.message.QueryMessagesRequest> parser = PARSER;
        if (parser == null) {
          synchronized (im.turms.client.model.proto.request.message.QueryMessagesRequest.class) {
            parser = PARSER;
            if (parser == null) {
              parser =
                  new DefaultInstanceBasedParser<im.turms.client.model.proto.request.message.QueryMessagesRequest>(
                      DEFAULT_INSTANCE);
              PARSER = parser;
            }
          }
        }
        return parser;
    }
    case GET_MEMOIZED_IS_INITIALIZED: {
      return (byte) 1;
    }
    case SET_MEMOIZED_IS_INITIALIZED: {
      return null;
    }
    }
    throw new UnsupportedOperationException();
  }


  // @@protoc_insertion_point(class_scope:im.turms.proto.QueryMessagesRequest)
  private static final im.turms.client.model.proto.request.message.QueryMessagesRequest DEFAULT_INSTANCE;
  static {
    QueryMessagesRequest defaultInstance = new QueryMessagesRequest();
    // New instances are implicitly immutable so no need to make
    // immutable.
    DEFAULT_INSTANCE = defaultInstance;
    com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
      QueryMessagesRequest.class, defaultInstance);
  }

  public static im.turms.client.model.proto.request.message.QueryMessagesRequest getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static volatile com.google.protobuf.Parser<QueryMessagesRequest> PARSER;

  public static com.google.protobuf.Parser<QueryMessagesRequest> parser() {
    return DEFAULT_INSTANCE.getParserForType();
  }
}

